<?php
// 获取完整地址
function get_url()
{
    $url = $_SERVER['PHP_SELF'] . '?';
    if ($_GET) {
        foreach ($_GET as $key => $value) {
            if ($key != 'page') {
                $url .= $key . '=' . $value . '&';
            }
        }
    }
    return $url;
}
/** 
 * 
 * 分页函数
 * @param int $current 当前页
 * @param int $count   记录总数
 * @param int $limit   每页显示多少条
 * @param int $size    中间显示多少个页码
 * @param string $class   样式
 * @return string 返回html结构
 * 
 */
function page($current, $count, $limit, $size, $class = 'sabrosus')
{
    $page = '';
    // 当总数据大于显示的数据才显示分页
    if ($count > $limit) {
        // 计算总页码 向上取整
        $pages = ceil($count / $limit);
        // 获取当前页面的url（带有参数的）
        $url = get_url();
        // 开始拼接分页
        $page .= '<div class="' . $class . '">';  //<div class="sabrosus">
        // 判断当前页是否为首页
        if ($current == 1) {
            // disabled 禁用
            $page .= '<span class="disabled">首&nbsp;&nbsp;页</span>';
            $page .= '<span class="disabled">上一页</span>';
        } else {
            $page .= '<a href="' . $url . 'page=1">首&nbsp;&nbsp;页</a>';
            $page .= '<a href="' . $url . 'page=' . ($current - 1) . '">上一页</a>';
        }
        if ($current <= floor($size / 2)) {
            $start = 1;
            $end = $pages < $size ? $pages : $size;
        } elseif ($current >= $pages - floor($size / 2)) {
            $start = $pages - $size + 1 <= 0 ? 1 : $pages - $size + 1;
            $end = $pages;
        } else {
            $start = $current - floor($size / 2);
            $end = $current + floor($size / 2);
        }
        // 中间的页码
        for ($i = $start; $i <= $end; $i++) {
            if ($i == $current) {
                $page .= '<span class="current">' . $i . '</span>';
            } else {
                $page .= '<a href="' . $url . 'page=' . $i . '">' . $i . '</a>';
            }
        }
        // 判断总数是否等于当前页 如果等于 说明 已经最后一页
        if ($pages == $current) {
            $page .= '<span class="disabled">下一页</span>';
            $page .= '<span class="disabled">尾&nbsp;&nbsp;页  </span>';
        } else {
            $page .= '<a href="' . $url . 'page=' . ($current + 1) . '">下一页</a>';
            $page .= '<a href="' . $url . 'page=' . $pages . '">尾&nbsp;&nbsp;页 </a>';
        }
        // 结束
        $page .= '</div>';
    }
    return $page;
}
